package com.ajx.blog.service.api;

import java.util.List;

import com.ajx.blog.entity.Roles;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

public interface RolesService extends IService<Roles> {

    /**
     * @param {Roles} role 角色对象
     * @return {boolean} 添加是否成功 true/false
     * 
     * @description: 添加一个角色
     */
    boolean insertOneRole(Roles role);

    /**
     * @param {Integer}   rid 角色id
     * @param {Integer[]} ids 菜单id列表
     * @return {boolean} 更新是否成功 true/false
     * 
     * @description: 更新角色对应的菜单权限
     */
    boolean updateAdminMenuById(Integer rid, Integer[] ids);

    /**
     * @param {Integer} id 管理员主键id
     * @return {List<Roles>} 管理员所拥有的角色列表
     * 
     * @description: 通过id查询角色列表
     */
    List<Roles> selectRoleByAdmin(Integer id);

    /**
     * @param {*}
     * @return {List<Roles>} 角色列表
     * 
     * @description: 查询所有角色
     */
    List<Roles> selectAllRole();

    /**
     * @param {Integer} page 当前页码数
     * @return {*} 封装的分页结果对象
     * 
     * @description: 分页查询所有角色
     */
    PageInfo<Roles> selectAllRoleByLimit(Integer page);

}
